package com.ruoyi.business.service.koc;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.domain.dto.admin.koc.TaskCheckDTO;
import com.ruoyi.business.domain.dto.admin.koc.TbUserKocTaskInfoPageDTO;
import com.ruoyi.business.domain.dto.api.koc.SubmitKocTaskDTO;
import com.ruoyi.business.domain.dto.api.koc.UpdateKocTaskDetailDTO;
import com.ruoyi.business.domain.koc.TbUserKocTaskInfo;
import com.ruoyi.business.domain.vo.PreTaskCheckVO;
import com.ruoyi.business.domain.vo.TbUserKocTaskGroupInfoVO;
import com.ruoyi.business.domain.vo.TbUserKocTaskInfoAllVO;
import com.ruoyi.business.domain.vo.TbUserKocTaskInfoAppVO;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;


public interface ITbUserKocTaskInfoService extends IService<TbUserKocTaskInfo> {

    TableDataInfo<TbUserKocTaskGroupInfoVO> selectPageList(TbUserKocTaskInfoPageDTO dto, PageQuery pageQuery);

    TbUserKocTaskInfoAllVO selectUserTaskAllInfo(Long userId, Long taskId, String kocDate,Integer checkStatus);

    TableDataInfo<TbUserKocTaskInfo> selectMyTaskInfo(Long userId, Long kocTaskTypeId, Long kocTaskId, String kocDate, PageQuery pageQuery);

    TbUserKocTaskInfoAppVO selectMyTaskInfoDetail(Long userId, Long kocTaskInfoId);

    boolean userSubmitKocTask(Long userId, SubmitKocTaskDTO dto);

    boolean modifyKocTaskDetail(Long userId, UpdateKocTaskDetailDTO dto);

    boolean delKocTaskInfo(Long userId, Long kocTaskInfoId);

    boolean taskCheck(TaskCheckDTO dto);

    PreTaskCheckVO preTaskCheck(TaskCheckDTO dto);

}
